// pages/activityAdd/activityAdd.js
const app = getApp();
const util = require('../../utils/util');
Page({

  /**
   * 页面的初始数据
   */
  data: {
    /* 用户信息 */
    userInfo_share:{},
    /* 日期选择器 */
    pickerStartTime: '',  //开始的日期选择器开始时间
    pickerStartVal:'',
    pickerEndTime: '',  //结束的日期选择器开始时间
    pickerEndVal:'',
    /* 活动条件*/
    activityData:[
      {
        all:'', //满多少
        num:''  //减多少
      }/* ,
      {
        all:'', //满多少
        num:''  //减多少
      },
      {
        all:'', //满多少
        num:''  //减多少
      } */
    ],
    /* 添加优惠券的参数 */
    couponArgs:{
      code:'',  //优惠短码
      create_id:'',  //创建人id
      expire_time:'',   //到期时间
      over_price:'',  //满减条件
      price:'',  //满减金额
      userid:'',  //使用人id
    },
    /* 添加成功后生成的优惠券数据 */
    codeData:[]
  },
  /* 点取消的时候 */
  returnPrevPage:function(){
    wx.navigateBack({
      complete: (res) => {},
    })
  },
  /* 删除优惠券 */
  deleteCoupon:function(e){
    let { info } = e.currentTarget.dataset;
    console.log(info);
    return new Promise((resolve,reject)=>{
      wx.showModal({
        title:'提示',
        content:'确定要删除该优惠券吗？',
        success:res=>{
          if(res.confirm){
            resolve();
          }
          if(res.cancel){

          }
        }
      })
    }).then(()=>{
      return new Promise((resolve, reject) => {
        wx.request({
          url: app.globalData.Url + '/deleteCoupon',
          method: 'POST',
          header: {
            'content-type': app.globalData.contentType
          },
          data: util.json2Form({
            coupon_id:info.coupon_id
          }),
          success: res => {
            console.log(res)
            if(res.data.code=='1'){
              wx.showToast({
                title:'删除成功'
              });
              resolve();
            }else{
              reject('删除优惠券失败');
            }
          },
          fail: err => {
            //console.log(err);
            reject('删除优惠券失败');
          }
        })
      })
    }).then(()=>{
      return this.getCouponForCreateUser()
    }).catch(err=>{

    });
  },
  /* 通过userid获取已创建的优惠券 */
  getCouponForCreateUser:function(){
    return new Promise((resolve, reject) => {
      wx.request({
        url: app.globalData.Url + '/getCouponForCreateUser',
        method: 'POST',
        header:app.globalData.header.call(this),
        data: util.json2Form({
          userid:this.data.userInfo_share.corpUser.userid
        }),
        success: res => {
          console.log(res)
          if(res.data.code=='1'){
            this.setData({
              codeData:res.data.body
            });
            resolve();
          }else{
            reject('获取企业员工关联的优惠券数据失败');
          }
        },
        fail: err => {
          //console.log(err);
          reject('获取企业员工关联的优惠券数据失败');
        }
      })
    })
  },
  /* 新增满减阶梯 */
  addJieTi:function(){},
  /* 复制券码 */
  copyCode:function(e){
    wx.setClipboardData({
      data: e.currentTarget.dataset.info.code,
      success: function (res) {
        wx.getClipboardData({
          success: res => {
            //console.log(res);
            wx.showToast({
              title: '复制优惠券码成功'
            })
          }
        })
      },
      fail: err => {

      }
    })
  },
  /* 添加优惠券 */
  insertCoupon:function(){
    //
    if(!this.data.pickerEndVal){
      wx.showToast({
        icon:'none',
        title:'请选择活动结束时间'
      });
      return;
    }
    //
    if(!this.data.activityData[0].all){
      wx.showToast({
        icon:'none',
        title:'请填写满减条件'
      });
      return;
    }
    //
    if(!this.data.activityData[0].num){
      wx.showToast({
        icon:'none',
        title:'请填写满减条件'
      });
      return;
    }
    //
    wx.showLoading({
      title:"添加优惠券",
      mask:true
    });
    //
    this.setData({
      'couponArgs.code':'',
      'couponArgs.create_id':this.data.userInfo_share.corpUser.userid,
      'couponArgs.expire_time':this.data.pickerEndVal,
      'couponArgs.over_price':this.data.activityData[0].all*100,
      'couponArgs.price':this.data.activityData[0].num*100,
    });
    console.log(this.data.couponArgs);
    return;
    //
    return new Promise((resolve, reject) => {
      wx.request({
        url: app.globalData.Url + '/insertCoupon',
        method: 'POST',
        header:app.globalData.header.call(this),
        data: util.json2Form(this.data.couponArgs),
        success: res => {
          console.log(res)
          if (res.data.code == '1') {
            let tmpATTData = this.data.activityData;
            tmpATTData.forEach(item=>{
              item.all = '';
              item.num = '';
            });
            let tmpCodeData = this.data.codeData;
            tmpCodeData.push(res.data.body);
            this.setData({
              codeData: tmpCodeData,
              activityData: tmpATTData
            });
            resolve()
          } else {
            reject(res.data.msg)
          }
          wx.hideLoading();
        },
        fail: err => {
          wx.hideLoading();
          //console.log(err);
          reject('添加优惠券失败');
        }
      })
    })
  },
  /* 修改满多少的金额 */
  changeAllPrice:function(e){
    //console.log(e.currentTarget.dataset.index);
    //console.log(e.detail.value);
    let index = e.currentTarget.dataset.index*1;
    let value = e.detail.value;
    let regx = /\.\d{3,}/g;
    if(regx.test(value)){
      value = value.slice(0,value.lastIndexOf('.')+3);
    }
    //
    this.setData({
      [`activityData[${index}].all`]:value
    });
    //
    console.log(this.data.activityData);
  },
  /* 修改减多少的金额 */
  changeNumPrice:function(e){
    let index = e.currentTarget.dataset.index*1;
    let value = e.detail.value;
    let regx = /\.\d{3,}/g;
    if(regx.test(value)){
      value = value.slice(0,value.lastIndexOf('.')+3);
    }
    //
    this.setData({
      [`activityData[${index}].num`]:value
    });
    //
    console.log(this.data.activityData);
  },
  /* 修改开始时间 */
  changeStartTime:function(e){
    console.log(e.detail.value);
    this.setData({
      pickerStartVal: e.detail.value
    })
  },
  /* 修改结束时间 */
  changeEndTime:function(e){
    //console.log(e.detail.value);
    this.setData({
      pickerEndVal: e.detail.value
    })
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    this.setData({
      userInfo_share: app.globalData.get_userInfo()
    });
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
    //
    this.setData({
      pickerStartTime:app.globalData.dateObjFormatYMD(new Date())
    });
    //
    this.getCouponForCreateUser();
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {
    const pages = getCurrentPages();
    if(pages[pages.length - 1].route==='pages/activityAdd/activityAdd'){
      app.globalData.fromAAToEmployee = true
    }
  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  }
})